Services such as Google Maps are capable of displaying street level images of geographic locations. These images, identified in Google Maps as “Street Views”, typically comprise photographs of buildings and other features and allow a user to view a geographic location from a person's perspective as compared to a top-down map perspective.
When a street level image is taken, it is typically associated with a location, such as the latitude/longitude position of the camera and camera angle. While a street address may be inferred from a latitude/longitude position, the information is not always accurate.
The difficulty inherently arises from the different ways that one may refer to the locations of geographic objects.
Just one possible reference system relates to expressing locations as street addresses, that is, with respect to a particular street that is identified by its name or some other identifier such as “Amphitheatre Parkway Mountain.” Street addresses may identify additional information such as a designated position along the street (e.g., a house number or street number such as “1600 Amphitheatre Parkway”), the geographic region in which all or a portion of the street resides (e.g., city, state or province, country or zip code) and other information as well (e.g., apartment number).
Another reference system expresses locations with respect to a fixed reference point of the Earth. By way of example, geographic locations may be expressed with respect to their latitude/longitude positions such as (37° 25′ 38″, −122° 5′ 57″). The latitude/longitude reference system may also express latitude/longitude position in fractions of degrees and include a reference to altitude if indicating height.
Landmarks can also be reference points. For example, the Empire State Building is at a fixed point on the Earth. In fact, less developed and rural areas sometimes lack street names. Accordingly, locations sometimes refer to distances and directions from landmarks such as “1 kilometer south of the Main Street Theatre” or “travel 300 meters south, and then 400 meters west, of the Main Street Theatre.”
Yet another common reference system expresses locations with respect to parcels of land. For example, New York City has defined each parcel of land in accordance with a unique set of 3 numbers that comprise its borough, block, and lot (BBL) designation.
The foregoing list of reference systems is by way of example and not limitation. For example, a computer may both identify, and request more information about, a location by determining the point at which a user clicked on a map. Moreover, a geographic location may be expressed not as a single point but also as a range.
Geocoders are routines used to convert locations identified in accordance with one reference system into locations identified by another reference system. For example, a computer may convert street addresses to latitude/longitude positions and vice versa, such as converting “1600 Amphitheatre Parkway, Mountain View, Calif.” to “(latitude 37.423021°, longitude −122.083939)”.
Although locations are capable of being expressed with respect to multiple reference systems, a geocoding routine may not have all of the information necessary to perform a precise conversion. Accordingly, a geocoding routine may make an approximation based on the information it has. For example, assume a geocoding routine has access to data that pairs some latitude/longitude and street address positions, such as pairing “1 Second Street” with (37.00000°, −122.00000°) and “1000 Second Street” with (37.02000°, −122.02000°). To approximate the latitude/longitude of “500 Second Street”, which is halfway between the two known street addresses, the geocoder may assume the latitude/longitude occurs halfway between the two known latitude/longitude positions, namely (37.01000°, −122.01000°).
Goecoding approximations are often inaccurate. For example, houses may be much closer to one another at one of the street versus the other end of the street, resulting in an uneven distribution of house numbers along the street. Moreover, the data available to the geocoding routine may be inaccurate, meaning that approximations based on such data will be similarly inaccurate.